#include <sys_head.h>

sem_t sem;

void * abc(void * p)
{
    while (1)
    {
        sem_wait(&sem);//等待信号量的值为1，如果值为0则一直在这里等，如果等到了则会把信号量的值-1
        printf("我是刘欢\n");
        sem_post(&sem);//释放信号量，让信号量的值+1
    }
}

int main(int argc, char const *argv[])
{
    //参数2为0代表在线程间使用的信号量，参数3是当前资源的数量
    sem_init(&sem,0,1);
    pthread_t pt;
    pthread_create(&pt,NULL,abc,NULL);
    while (1)
    {
        sem_wait(&sem);//等待信号量的值为1，如果值为0则一直在这里等，如果等到了则会把信号量的值-1
        printf("我是郑森\n");
        sem_post(&sem);//释放信号量，让信号量的值+1
    }
    return 0;
}
